package com.dst.smart.handler.disposer;

import com.dst.smart.app.MainActivity;
import com.dst.smart.handler.entity.SemanticResult;
import com.dst.smart.handler.entity.ServiceType;
import com.dst.smart.json.WeatherUtils;
import com.dst.smart.model.WeatherInfo;

import android.content.Context;
import android.text.TextUtils;
import android.util.Log;

/**
 * 信息类的结果处理器，包括天气、火车和航班。
 * 
 * author <a href="http://www.xfyun.cn">讯飞开放平台</a>
 * date 2016年6月21日 下午4:32:03
 *
 */
public class InfoDisposer extends Disposer {

	public InfoDisposer(Context context) {
		super(context);
	}

	@Override
	public void disposeResult(SemanticResult result) {
		String text = result.getAnswerText();
		ServiceType serviceType = result.getServiceType();
		Log.e("text","Info "+text);
		if (!TextUtils.isEmpty(text)) {
			if (serviceType == ServiceType.TRAIN || serviceType == ServiceType.FLIGHT) {
				// 数字纠错、火车、航班业务中的数字分开读
				getPlayController().playURLList(result.getUUID(),null);
				getPlayController().playText(result.getUUID(), text);
//			}else if(ServiceType.WEATHER == serviceType  || ServiceType.PM25 == serviceType) {
			}else if(ServiceType.PM25 == serviceType) {
				//轻度污染：中度污染：重度污染：严重污染
				if(text.contains("优")){
					text+=".温馨提示:出去走走放松心情，感受下美好大自然吧。";
				}else if(text.contains("良")){
					text+=".温馨提示:适宜开窗,外出不用佩戴口罩,建议极少数异常敏感人群应减少户外活动。";
				}else if(text.contains("轻微污染")) {
					text+="建议儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼。";
				}else if(text.contains("中度污染")) {
					text+="建议疾病患者避免长时间、高强度的户外锻练，一般人群适量减少户外运动。";
				}else if(text.contains("重度污染")) {
					text+="建议儿童、老年人和心脏病、肺病患者应停留在室内，停止户外运动，一般人群减少户外运动。";
				}else if(text.contains("严重污染")) {
					text+="建议儿童、老年人和病人应当留在室内，避免体力消耗，一般人群应避免户外活动。";
				}
				//MainActivity.AirQuality=text;
				getPlayController().playURLList(result.getUUID(),null);
				getPlayController().playText(result.getUUID(), text, true, "", null);
			}
			
		}
	}
	
	public boolean canHandle(ServiceType type){
//		if(type == ServiceType.TRAIN || type == ServiceType.FLIGHT
//				|| type == ServiceType.WEATHER  || type == ServiceType.PM25){
		return (type == ServiceType.TRAIN || type == ServiceType.FLIGHT || type == ServiceType.PM25);
	}
}
